home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 2001 May / SGI Freeware 2001 May - Disc 3.iso / dist / fw_squid.idb / usr / freeware / squid / etc / squid.conf.default.z / squid.conf.default
Text File  |  2000-04-13  |  76KB  |  2,144 lines

  1.  
  2. #    WELCOME TO SQUID 2
  3. #    ------------------
  4. #
  5. #    This is the default Squid configuration file. You may wish
  6. #    to look at the Squid home page (http://squid.nlanr.net/)
  7. #    for the FAQ and other documentation.
  8. #
  9. #    The default Squid config file shows what the defaults for
  10. #    various options happen to be.  If you don't need to change the
  11. #    default, you shouldn't uncomment the line.  Doing so may cause
  12. #    run-time problems.  In some cases "none" refers to no default
  13. #    setting at all, while in other cases it refers to a valid
  14. #    option - the comments for that keyword indicate if this is the
  15. #    case.
  16. #
  17.  
  18.  
  19. # NETWORK OPTIONS
  20. # -----------------------------------------------------------------------------
  21.  
  22. #  TAG: http_port
  23. #    Usage:    port
  24. #        hostname:port
  25. #        1.2.3.4:port
  26. #
  27. #    The socket addresses where Squid will listen for HTTP client
  28. #    requests.  You may specify multiple socket addresses.
  29. #    There are three forms: port alone, hostname with port, and
  30. #    IP address with port.  If you specify a hostname or IP
  31. #    address, then Squid binds the socket to that specific
  32. #    address.  This replaces the old 'tcp_incoming_address'
  33. #    option.  Most likely, you do not need to bind to a specific
  34. #    address, so you can use the port number alone.
  35. #
  36. #    The default port number is 3128.
  37. #
  38. #    If you are running Squid in accelerator mode, then you
  39. #    probably want to listen on port 80 also, or instead.
  40. #
  41. #    The -a command line option will override the *first* port
  42. #    number listed here.   That option will NOT override an IP
  43. #    address, however.
  44. #
  45. #http_port 3128
  46.  
  47. #  TAG: icp_port
  48. #    The port number where Squid sends and receives ICP queries to
  49. #    and from neighbor caches.  Default is 3130.  To disable use
  50. #    "0".  May be overridden with -u on the command line.
  51. #
  52. #icp_port 3130
  53.  
  54. #  TAG: htcp_port
  55. #    The port number where Squid sends and receives HTCP queries to
  56. #    and from neighbor caches.  Default is 4827.  To disable use
  57. #    "0".
  58. #
  59. #    To enable this option, you must use --enable-htcp with the
  60. #    configure script.
  61. #htcp_port 4827
  62.  
  63. #  TAG: mcast_groups
  64. #    This tag specifies a list of multicast groups which your server
  65. #    should join to receive multicasted ICP queries.
  66. #
  67. #    NOTE!  Be very careful what you put here!  Be sure you
  68. #    understand the difference between an ICP _query_ and an ICP
  69. #    _reply_.  This option is to be set only if you want to RECEIVE
  70. #    multicast queries.  Do NOT set this option to SEND multicast
  71. #    ICP (use cache_peer for that).  ICP replies are always sent via
  72. #    unicast, so this option does not affect whether or not you will
  73. #    receive replies from multicast group members.
  74. #
  75. #    You must be very careful to NOT use a multicast address which
  76. #    is already in use by another group of caches.
  77. #
  78. #    If you are unsure about multicast, please read the Multicast
  79. #    chapter in the Squid FAQ (http://squid.nlanr.net/Squid/FAQ/).
  80. #
  81. #    Usage: mcast_groups 239.128.16.128 224.0.1.20
  82. #
  83. #    By default, Squid doesn't listen on any multicast groups.
  84. #
  85. #mcast_groups 239.128.16.128
  86.  
  87. #  TAG: tcp_outgoing_address
  88. #  TAG: udp_incoming_address
  89. #  TAG: udp_outgoing_address
  90. #    Usage: tcp_incoming_address 10.20.30.40
  91. #           udp_outgoing_address fully.qualified.domain.name
  92. #
  93. #    tcp_outgoing_address    is used for connections made to remote
  94. #                servers and other caches.
  95. #    udp_incoming_address    is used for the ICP socket receiving packets
  96. #                from other caches.
  97. #    udp_outgoing_address    is used for ICP packets sent out to other
  98. #                caches.
  99. #
  100. #    The default behavior is to not bind to any specific address.
  101. #
  102. #    NOTE, udp_incoming_address and udp_outgoing_address can not
  103. #    have the same value (unless it is 0.0.0.0) since they both use
  104. #    port 3130.
  105. #
  106. #    NOTE, tcp_incoming_address has been removed.  You can now
  107. #    specify IP addresses on the 'http_port' line.
  108. #
  109. #tcp_outgoing_address 0.0.0.0
  110. #udp_incoming_address 0.0.0.0
  111. #udp_outgoing_address 0.0.0.0
  112.  
  113.  
  114. # OPTIONS WHICH AFFECT THE NEIGHBOR SELECTION ALGORITHM
  115. # -----------------------------------------------------------------------------
  116.  
  117. #  TAG: cache_peer
  118. #    To specify other caches in a hierarchy, use the format:
  119. #
  120. #        hostname type http_port icp_port
  121. #
  122. #    For example,
  123. #
  124. #    #                                        proxy  icp
  125. #    #          hostname             type     port   port  options
  126. #    #          -------------------- -------- ----- -----  -----------
  127. #    cache_peer parent.foo.net       parent    3128  3130  [proxy-only]
  128. #    cache_peer sib1.foo.net         sibling   3128  3130  [proxy-only]
  129. #    cache_peer sib2.foo.net         sibling   3128  3130  [proxy-only]
  130. #
  131. #          type:  either 'parent', 'sibling', or 'multicast'.
  132. #
  133. #    proxy_port:  The port number where the cache listens for proxy
  134. #             requests.
  135. #
  136. #      icp_port:  Used for querying neighbor caches about
  137. #             objects.  To have a non-ICP neighbor
  138. #             specify '7' for the ICP port and make sure the
  139. #             neighbor machine has the UDP echo port
  140. #             enabled in its /etc/inetd.conf file.
  141. #
  142. #        options: proxy-only
  143. #             weight=n
  144. #             ttl=n
  145. #             no-query
  146. #             default
  147. #             round-robin
  148. #             multicast-responder
  149. #             closest-only
  150. #             no-digest
  151. #             no-netdb-exchange
  152. #             no-delay
  153. #             login=user:password
  154. #             connect-timeout=nn
  155. #             digest-url=url
  156. #
  157. #             use 'proxy-only' to specify that objects fetched
  158. #             from this cache should not be saved locally.
  159. #
  160. #             use 'weight=n' to specify a weighted parent.
  161. #             The weight must be an integer.  The default weight
  162. #             is 1, larger weights are favored more.
  163. #
  164. #             use 'ttl=n' to specify a IP multicast TTL to use
  165. #             when sending an ICP queries to this address.
  166. #             Only useful when sending to a multicast group.
  167. #             Because we don't accept ICP replies from random
  168. #             hosts, you must configure other group members as
  169. #             peers with the 'multicast-responder' option below.
  170. #
  171. #             use 'no-query' to NOT send ICP queries to this
  172. #             neighbor.
  173. #
  174. #             use 'default' if this is a parent cache which can
  175. #             be used as a "last-resort." You should probably
  176. #             only use 'default' in situations where you cannot
  177. #             use ICP with your parent cache(s).
  178. #
  179. #             use 'round-robin' to define a set of parents which
  180. #             should be used in a round-robin fashion in the
  181. #             absence of any ICP queries.
  182. #
  183. #             'multicast-responder' indicates that the named peer
  184. #             is a member of a multicast group.  ICP queries will
  185. #             not be sent directly to the peer, but ICP replies
  186. #             will be accepted from it.
  187. #
  188. #             'closest-only' indicates that, for ICP_OP_MISS
  189. #             replies, we'll only forward CLOSEST_PARENT_MISSes
  190. #             and never FIRST_PARENT_MISSes.
  191. #
  192. #             use 'no-digest' to NOT request cache digests from
  193. #             this neighbor.
  194. #
  195. #             'no-netdb-exchange' disables requesting ICMP
  196. #             RTT database (NetDB) from the neighbor.
  197. #
  198. #             use 'no-delay' to prevent access to this neighbor
  199. #             from influencing the delay pools.
  200. #
  201. #             use 'login=user:password' if this is a personal/workgroup
  202. #             proxy and your parent requires proxy authentication.
  203. #
  204. #             use 'connect-timeout=nn' to specify a peer
  205. #             specific connect timeout (also see the
  206. #             peer_connect_timeout directive)
  207. #
  208. #             use 'digest-url=url' to tell Squid to fetch the cache
  209. #             digest (if digests are enabled) for this host from
  210. #             the specified URL rather than the Squid default
  211. #             location.
  212. #
  213. #    NOTE: non-ICP neighbors must be specified as 'parent'.
  214. #
  215. #cache_peer hostname type 3128 3130
  216.  
  217. #  TAG: cache_peer_domain
  218. #    Use to limit the domains for which a neighbor cache will be
  219. #    queried.  Usage:
  220. #
  221. #    cache_peer_domain cache-host domain [domain ...]
  222. #    cache_peer_domain cache-host !domain
  223. #
  224. #    For example, specifying
  225. #
  226. #        cache_peer_domain parent.foo.net    .edu
  227. #
  228. #    has the effect such that UDP query packets are sent to
  229. #    'bigserver' only when the requested object exists on a
  230. #    server in the .edu domain.  Prefixing the domainname
  231. #    with '!' means that the cache will be queried for objects
  232. #    NOT in that domain.
  233. #
  234. #    NOTE:    * Any number of domains may be given for a cache-host,
  235. #          either on the same or separate lines.
  236. #        * When multiple domains are given for a particular
  237. #          cache-host, the first matched domain is applied.
  238. #        * Cache hosts with no domain restrictions are queried
  239. #          for all requests.
  240. #        * There are no defaults.
  241. #        * There is also a 'cache_peer_access' tag in the ACL
  242. #          section.
  243.  
  244. #  TAG: neighbor_type_domain
  245. #    usage: neighbor_type_domain parent|sibling domain domain ...
  246. #
  247. #    Modifying the neighbor type for specific domains is now
  248. #    possible.  You can treat some domains differently than the the
  249. #    default neighbor type specified on the 'cache_peer' line.
  250. #    Normally it should only be necessary to list domains which
  251. #    should be treated differently because the default neighbor type
  252. #    applies for hostnames which do not match domains listed here.
  253. #
  254. #EXAMPLE:
  255. #    cache_peer  parent cache.foo.org 3128 3130
  256. #    neighbor_type_domain cache.foo.org sibling .com .net
  257. #    neighbor_type_domain cache.foo.org sibling .au .de
  258.  
  259. #  TAG: icp_query_timeout    (msec)
  260. #    Normally Squid will automatically determine an optimal ICP
  261. #    query timeout value based on the round-trip-time of recent ICP
  262. #    queries.  If you want to override the value determined by
  263. #    Squid, set this 'icp_query_timeout' to a non-zero value.  This
  264. #    value is specified in MILLISECONDS, so, to use a 2-second
  265. #    timeout (the old default), you would write:
  266. #
  267. #        icp_query_timeout 2000
  268. #
  269. #icp_query_timeout 0
  270.  
  271. #  TAG: maximum_icp_query_timeout    (msec)
  272. #    Normally the ICP query timeout is determined dynamically.  But
  273. #    sometimes it can lead to very large values (say 5 seconds).
  274. #    Use this option to put an upper limit on the dynamic timeout
  275. #    value.  Do NOT use this option to always use a fixed (instead
  276. #    of a dynamic) timeout value.
  277. #
  278. #    If 'icp_query_timeout' is set to zero, then this value is
  279. #    ignored.
  280. #icp_query_timeout 2000
  281.  
  282. #  TAG: mcast_icp_query_timeout    (msec)
  283. #    For Multicast peers, Squid regularly sends out ICP "probes" to
  284. #    count how many other peers are listening on the given multicast
  285. #    address.  This value specifies how long Squid should wait to
  286. #    count all the replies.  The default is 2000 msec, or 2
  287. #    seconds.
  288. #
  289. #mcast_icp_query_timeout 2000
  290.  
  291. #  TAG: dead_peer_timeout    (seconds)
  292. #    This controls how long Squid waits to declare a peer cache
  293. #    as "dead."  If there are no ICP replies received in this
  294. #    amount of time, Squid will declare the peer dead and not
  295. #    expect to receive any further ICP replies.  However, it
  296. #    continues to send ICP queries, and will mark the peer as
  297. #    alive upon receipt of the first subsequent ICP reply.
  298. #
  299. #    This timeout also affects when Squid expects to receive ICP
  300. #    replies from peers.  If more than 'dead_peer' seconds have
  301. #    passed since the last ICP reply was received, Squid will not
  302. #    expect to receive an ICP reply on the next query.  Thus, if
  303. #    your time between requests is greater than this timeout, you
  304. #    will see a lot of requests sent DIRECT to origin servers
  305. #    instead of to your parents.
  306. #
  307. #dead_peer_timeout 10 seconds
  308.  
  309. #  TAG: hierarchy_stoplist
  310. #    A list of words which, if found in a URL, cause the object to
  311. #    be handled directly by this cache.  In other words, use this
  312. #    to not query neighbor caches for certain objects.  You may
  313. #    list this option multiple times.
  314. #
  315. #    The default is to directly fetch URLs containing 'cgi-bin' or '?'.
  316. #
  317. #hierarchy_stoplist cgi-bin ?
  318.  
  319. #  TAG: no_cache
  320. #    A list of ACL elements which, if matched, cause the reply to
  321. #    immediately removed from the cache.  In other words, use this
  322. #    to force certain objects to never be cached.
  323. #
  324. #    You must use the word 'DENY' to indicate the ACL names which should
  325. #    NOT be cached.
  326. #
  327. #    There is no default.  We recommend you uncomment the following
  328. #    two lines.
  329. #
  330. #acl QUERY urlpath_regex cgi-bin \?
  331. #no_cache deny QUERY
  332.  
  333.  
  334. # OPTIONS WHICH AFFECT THE CACHE SIZE
  335. # -----------------------------------------------------------------------------
  336.  
  337. #  TAG: cache_mem    (bytes)
  338. #    NOTE: THIS PARAMETER DOES NOT SPECIFY THE MAXIMUM PROCESS
  339. #    SIZE.  IT PLACES A LIMIT ON ONE ASPECT OF SQUID'S MEMORY
  340. #    USAGE.  SQUID USES MEMORY FOR OTHER THINGS AS WELL.
  341. #    YOUR PROCESS WILL PROBABLY BECOME TWICE OR THREE TIMES
  342. #    BIGGER THAN THE VALUE YOU PUT HERE 
  343. #
  344. #    'cache_mem' specifies the ideal amount of memory to be used
  345. #    for:
  346. #        * In-Transit objects
  347. #        * Hot Objects
  348. #        * Negative-Cached objects
  349. #
  350. #    Data for these objects are stored in 4 KB blocks.  This
  351. #    parameter specifies the ideal upper limit on the total size of
  352. #    4 KB blocks allocated.  In-Transit objects take the highest
  353. #    priority.
  354. #
  355. #    In-transit objects have priority over the others.  When
  356. #    additional space is needed for incoming data, negative-cached
  357. #    and hot objects will be released.  In other words, the
  358. #    negative-cached and hot objects will fill up any unused space
  359. #    not needed for in-transit objects.
  360. #
  361. #    If circumstances require, this limit will be exceeded.
  362. #    Specifically, if your incoming request rate requires more than
  363. #    'cache_mem' of memory to hold in-transit objects, Squid will
  364. #    exceed this limit to satisfy the new requests.  When the load
  365. #    decreases, blocks will be freed until the high-water mark is
  366. #    reached.  Thereafter, blocks will be used to store hot
  367. #    objects.
  368. #
  369. #    The default is 8 Megabytes.
  370. #
  371. #cache_mem  8 MB
  372.  
  373. #  TAG: cache_swap_low    (percent, 0-100)
  374. #  TAG: cache_swap_high    (percent, 0-100)
  375. #
  376. #    The low- and high-water marks for cache object replacement.
  377. #    Replacement begins when the swap (disk) usage is above the
  378. #    low-water mark and attempts to maintain utilization near the
  379. #    low-water mark.  As swap utilization gets close to high-water
  380. #    mark object eviction becomes more aggressive.  If utilization is
  381. #    close to the low-water mark less replacement is done each time.
  382. #    
  383. #    Defaults are 90% and 95%. If you have a large cache, 5% could be
  384. #    hundreds of MB. If this is the case you may wish to set these
  385. #    numbers closer together.
  386. #
  387. #cache_swap_low  90
  388. #cache_swap_high 95
  389.  
  390. #  TAG: maximum_object_size    (bytes)
  391. #    Objects larger than this size will NOT be saved on disk.  The
  392. #    value is specified in kilobytes, and the default is 4MB.  If
  393. #    you wish to get a high BYTES hit ratio, you should probably
  394. #    increase this (one 32 MB object hit counts for 3200 10KB
  395. #    hits).  If you wish to increase speed more than your want to
  396. #    save bandwidth you should leave this low.
  397. #
  398. #    NOTE: if using the LFUDA replacement policy you should increase
  399. #    this value to maximize the byte hit rate improvement of LFUDA!
  400. #    See replacement_policy below for a discussion of this policy.
  401. #
  402. #maximum_object_size 4096 KB
  403.  
  404. #  TAG: ipcache_size    (number of entries)
  405. #  TAG: ipcache_low    (percent)
  406. #  TAG: ipcache_high    (percent)
  407. #    The size, low-, and high-water marks for the IP cache.
  408. #
  409. #ipcache_size 1024
  410. #ipcache_low  90
  411. #ipcache_high 95
  412.  
  413. #  TAG: fqdncache_size    (number of entries)
  414. #    Maximum number of FQDN cache entries.
  415. #fqdncache_size 1024
  416.  
  417.  
  418. # LOGFILE PATHNAMES AND CACHE DIRECTORIES
  419. # -----------------------------------------------------------------------------
  420.  
  421. #  TAG: cache_dir
  422. #    Usage:
  423. #    
  424. #    cache_dir Type Directory-Name Mbytes Level-1 Level2
  425. #
  426. #    You can specify multiple cache_dir lines to spread the
  427. #    cache among different disk partitions.
  428. #
  429. #    Type specifies the kind of storage system to use.  Most
  430. #    everyone will want to use "ufs" as the type.  If you are using
  431. #    Async I/O (--enable async-io) on Linux or Solaris, then you may
  432. #    want to try "asyncufs" as the type.  Async IO support may be
  433. #    buggy, however, so beware.
  434. #
  435. #    'Directory' is a top-level directory where cache swap
  436. #    files will be stored.  If you want to use an entire disk
  437. #    for caching, then this can be the mount-point directory.
  438. #    The directory must exist and be writable by the Squid
  439. #    process.  Squid will NOT create this directory for you.
  440. #
  441. #    If no 'cache_dir' lines are specified, the following
  442. #    default will be used: /usr/freeware/squid/cache.
  443. #
  444. #    'Mbytes' is the amount of disk space (MB) to use under this
  445. #    directory.  The default is 100 MB.  Change this to suit your
  446. #    configuration.
  447. #
  448. #    'Level-1' is the number of first-level subdirectories which
  449. #    will be created under the 'Directory'.  The default is 16.
  450. #
  451. #    'Level-2' is the number of second-level subdirectories which
  452. #    will be created under each first-level directory.  The default
  453. #    is 256.
  454. #
  455. #cache_dir ufs /usr/freeware/squid/cache 100 16 256
  456.  
  457. #  TAG: cache_access_log
  458. #    Logs the client request activity.  Contains an entry for
  459. #    every HTTP and ICP queries received.
  460. #
  461. #cache_access_log /usr/freeware/squid/logs/access.log
  462.  
  463. #  TAG: cache_log
  464. #    Cache logging file. This is where general information about
  465. #    your cache's behavior goes. You can increase the amount of data
  466. #    logged to this file with the "debug_options" tag below.
  467. #
  468. #cache_log /usr/freeware/squid/logs/cache.log
  469.  
  470. #  TAG: cache_store_log
  471. #    Logs the activities of the storage manager.  Shows which
  472. #    objects are ejected from the cache, and which objects are
  473. #    saved and for how long.  To disable, enter "none". There are
  474. #    not really utilities to analyze this data, so you can safely
  475. #    disable it.
  476. #
  477. #cache_store_log /usr/freeware/squid/logs/store.log
  478.  
  479. #  TAG: cache_swap_log
  480. #    Location for the cache "swap.log."  This log file holds the
  481. #    metadata of objects saved on disk.  It is used to rebuild the
  482. #    cache during startup.  Normally this file resides in the first
  483. #    'cache_dir' directory, but you may specify an alternate
  484. #    pathname here.  Note you must give a full filename, not just
  485. #    a directory. Since this is the index for the whole object
  486. #    list you CANNOT periodically rotate it!
  487. #
  488. #    If you have more than one 'cache_dir', these swap logs will
  489. #    have names such as:
  490. #
  491. #        cache_swap_log.00
  492. #        cache_swap_log.01
  493. #        cache_swap_log.02
  494. #
  495. #    The numbered extension (which is added automatically)
  496. #    corresponds to the order of the 'cache_dir' lines in this
  497. #    configuration file.  If you change the order of the 'cache_dir'
  498. #    lines in this file, then these log files will NOT correspond to
  499. #    the correct 'cache_dir' entry (unless you manually rename
  500. #    them).  We recommend that you do NOT use this option.  It is
  501. #    better to keep these log files in each 'cache_dir' directory.
  502. #
  503. #cache_swap_log
  504.  
  505. #  TAG: emulate_httpd_log    on|off
  506. #    The Cache can emulate the log file format which many 'httpd'
  507. #    programs use.  To disable/enable this emulation, set
  508. #    emulate_httpd_log to 'off' or 'on'.  The default
  509. #    is to use the native log format since it includes useful
  510. #    information that Squid-specific log analyzers use.
  511. #
  512. #emulate_httpd_log off
  513.  
  514. #  TAG: mime_table
  515. #    Pathname to Squid's MIME table. You shouldn't need to change
  516. #    this, but the default file contains examples and formatting
  517. #    information if you do.
  518. #
  519. #mime_table /usr/freeware/squid/etc/mime.conf
  520.  
  521. #  TAG: log_mime_hdrs    on|off
  522. #    The Cache can record both the request and the response MIME
  523. #    headers for each HTTP transaction.  The headers are encoded
  524. #    safely and will appear as two bracketed fields at the end of
  525. #    the access log (for either the native or httpd-emulated log
  526. #    formats).  To enable this logging set log_mime_hdrs to 'on'.
  527. #
  528. #log_mime_hdrs off
  529.  
  530. #  TAG: useragent_log
  531. #    If configured with the "--enable-useragent_log" configure
  532. #    option, Squid will write the User-Agent field from HTTP
  533. #    requests to the filename specified here.  By default
  534. #    useragent_log is disabled.
  535. #
  536. #useragent_log none
  537.  
  538. #  TAG: pid_filename
  539. #    A filename to write the process-id to.  To disable, enter "none".
  540. #
  541. #pid_filename /usr/freeware/squid/logs/squid.pid
  542.  
  543. #  TAG: debug_options
  544. #    Logging options are set as section,level where each source file
  545. #    is assigned a unique section.  Lower levels result in less
  546. #    output,  Full debugging (level 9) can result in a very large
  547. #    log file, so be careful.  The magic word "ALL" sets debugging
  548. #    levels for all sections.  We recommend normally running with
  549. #    "ALL,1".
  550. #
  551. #debug_options ALL,1
  552.  
  553. #  TAG: log_fqdn    on|off
  554. #    Turn this on if you wish to log fully qualified domain names
  555. #    in the access.log. To do this Squid does a DNS lookup of all
  556. #    IP's connecting to it. This can (in some situations) increase
  557. #    latency, which makes your cache seem slower for interactive
  558. #    browsing. 
  559. #
  560. #log_fqdn off
  561.  
  562. #  TAG: client_netmask
  563. #    A netmask for client addresses in logfiles and cachemgr output.
  564. #    Change this to protect the privacy of your cache clients.
  565. #    A netmask of 255.255.255.0 will log all IP's in that range with
  566. #    the last digit set to '0'.
  567. #
  568. #client_netmask 255.255.255.255
  569.  
  570.  
  571. # OPTIONS FOR EXTERNAL SUPPORT PROGRAMS
  572. # -----------------------------------------------------------------------------
  573.  
  574. #  TAG: ftp_user
  575. #    If you want the anonymous login password to be more informative
  576. #    (and enable the use of picky ftp servers), set this to something
  577. #    reasonable for your domain, like wwwuser@somewhere.net
  578. #
  579. #    The reason why this is domainless by default is that the
  580. #    request can be made on the behalf of a user in any domain,
  581. #    depending on how the cache is used.
  582. #    Some ftp server also validate that the email address is valid
  583. #    (for example perl.com).
  584. #
  585. #ftp_user Squid@
  586.  
  587. #  TAG: ftp_list_width
  588. #    Sets the width of ftp listings. This should be set to fit in
  589. #    the width of a standard browser. Setting this too small
  590. #    can cut off long filenames when browsing ftp sites.
  591. #
  592. #ftp_list_width 32
  593.  
  594. #  TAG: cache_dns_program
  595. #    Specify the location of the executable for dnslookup process.
  596. #
  597. #cache_dns_program /usr/freeware/squid/bin/dnsserver
  598.  
  599. #  TAG: dns_children
  600. #    The number of processes spawn to service DNS name lookups.
  601. #    For heavily loaded caches on large servers, you should
  602. #    probably increase this value to at least 10.  The maximum
  603. #    is 32.  The default is 5.
  604. #
  605. #    To disable dnsservers, set this to 0.  NOTE, this is very
  606. #    strongly discouraged.  If you disable dnsservers your Squid
  607. #    process will BLOCK on DNS lookups!
  608. #
  609. #dns_children 5
  610.  
  611. #  TAG: dns_defnames    on|off
  612. #    Normally the 'dnsserver' disables the RES_DEFNAMES resolver
  613. #    option (see res_init(3)).  This prevents caches in a hierarchy
  614. #    from interpreting single-component hostnames locally.  To allow
  615. #    dnsserver to handle single-component names, enable this
  616. #    option.
  617. #
  618. #dns_defnames off
  619.  
  620. #  TAG: dns_nameservers
  621. #    Use this if you want to specify a list of DNS name servers
  622. #    (IP addresses) to use instead of those given in your
  623. #    /etc/resolv.conf file.
  624. #
  625. #    Example: dns_nameservers 10.0.0.1 192.172.0.4
  626. #
  627. #dns_nameservers none
  628.  
  629. #  TAG: unlinkd_program
  630. #    Specify the location of the executable for file deletion process.
  631. #    This isn't needed if you are using async-io since it's handled by
  632. #    a thread.
  633. #
  634. #unlinkd_program /usr/freeware/squid/bin/unlinkd
  635.  
  636. #  TAG: pinger_program
  637. #    Specify the location of the executable for the pinger process.
  638. #    This is only useful if you configured Squid (during compilation)
  639. #    with the '--enable-icmp' option.
  640. #
  641. #pinger_program /usr/freeware/squid/bin/pinger
  642.  
  643. #  TAG: redirect_program
  644. #    Specify the location of the executable for the URL redirector.
  645. #    Since they can perform almost any function there isn't one included.
  646. #    See the Release-Notes for information on how to write one.
  647. #    By default, a redirector is not used.
  648. #
  649. #redirect_program none
  650.  
  651. #  TAG: redirect_children
  652. #    The number of redirector processes to spawn. If you start
  653. #    too few Squid will have to wait for them to process a backlog of
  654. #    URLs, slowing it down. If you start too many they will use RAM
  655. #    and other system resources.
  656. #
  657. #redirect_children 5
  658.  
  659. #  TAG: redirect_rewrites_host_header
  660. #    By default Squid rewrites any Host: header in redirected
  661. #    requests.  If you are running a accelerator then this may
  662. #    not be a wanted effect of a redirector.
  663. #redirect_rewrites_host_header on
  664.  
  665. #  TAG: redirector_access
  666. #    If defined, this access list specifies which requests are
  667. #    sent to the redirector processes.  By default all requests
  668. #    are sent.
  669.  
  670. #  TAG: authenticate_program
  671. #    Specify the command for the external authenticator.  Such a
  672. #    program reads a line containing "username password" and replies
  673. #    "OK" or "ERR" in an endless loop.  If you use an authenticator,
  674. #    make sure you have 1 acl of type proxy_auth.  By default, the
  675. #    authenticator_program is not used.
  676. #
  677. #    If you want to use the traditional proxy authentication,
  678. #    jump over to the ../auth_modules/NCSA directory and
  679. #    type:
  680. #        % make
  681. #        % make install
  682. #
  683. #    Then, set this line to something like
  684. #
  685. #    authenticate_program /usr/freeware/squid/bin/ncsa_auth /usr/freeware/squid/etc/passwd
  686. #
  687. #authenticate_program none
  688.  
  689. #  TAG: authenticate_children
  690. #    The number of authenticator processes to spawn (default 5). If you
  691. #    start too few Squid will have to wait for them to process a backlog
  692. #    of usercode/password verifications, slowing it down. When password
  693. #    verifications are done via a (slow) network you are likely to need
  694. #    lots of authenticator processes.
  695. #
  696. #authenticate_children 5
  697.  
  698. #  TAG: authenticate_ttl
  699. #    The time a checked username/password combination remains cached
  700. #    (default 3600). If a wrong password is given for a cached user,
  701. #    the user gets removed from the username/password cache forcing
  702. #    a revalidation.
  703. #
  704. #authenticate_ttl 3600
  705.  
  706. #  TAG: authenticate_ip_ttl
  707. #    With this option you control how long a proxy authentication
  708. #    will be bound to a specific IP address. If a request using
  709. #    the same user name is received during this time then access
  710. #    will be denied and both users are required to reauthenticate
  711. #    them selves.  The idea behind this is to make it annoying
  712. #    for people to share their password to their friends, but
  713. #    yet allow a dialup user to reconnect on a different dialup
  714. #    port.
  715. #
  716. #    The default is 0 to disable the check. Recommended value
  717. #    if you have dialup users are no more than 60 (seconds). If
  718. #    all your users are stationary then higher values may be
  719. #    used.
  720. #
  721. #authenticate_ip_ttl 0
  722.  
  723.  
  724. # OPTIONS FOR TUNING THE CACHE
  725. # -----------------------------------------------------------------------------
  726.  
  727. #  TAG: wais_relay_host
  728. #  TAG: wais_relay_port
  729. #    Relay WAIS request to host (1st arg) at port (2 arg).
  730. #
  731. #wais_relay_host localhost
  732. #wais_relay_port 8000
  733.  
  734. #  TAG: request_header_max_size    (KB)
  735. #    This specifies the maximum size for HTTP headers in a request.
  736. #    Request headers are usually relatively small (about 512 bytes).
  737. #    Placing a limit on the request header size will catch certain
  738. #    bugs (for example with persistent connections) and possibly
  739. #    buffer-overflow or denial-of-service attacks.
  740. #request_header_max_size 10 KB
  741.  
  742. #  TAG: request_body_max_size    (KB)
  743. #    This specifies the maximum size for an HTTP request body.
  744. #    In other words, the maximum size of a PUT/POST request.
  745. #    A user who attempts to send a request with a body larger
  746. #    than this limit receives an "Invalid Request" error message.
  747. #    If you set this parameter to a zero, there will be no limit
  748. #    imposed.
  749. #request_body_max_size 1 MB
  750.  
  751. #  TAG: reply_body_max_size    (KB)
  752. #    This option specifies the maximum size of a reply body.  It
  753. #    can be used to prevent users from downloading very large files,
  754. #    such as MP3's and movies.   The reply size is checked twice.
  755. #    First when we get the reply headers, we check the
  756. #    content-length value.  If the content length value exists and
  757. #    is larger than this parameter, the request is denied and the
  758. #    user receives an error message that says "the request or reply
  759. #    is too large." If there is no content-length, and the reply
  760. #    size exceeds this limit, the client's connection is just closed
  761. #    and they will receive a partial reply.
  762. #
  763. #    NOTE: downstream caches probably can not detect a partial reply
  764. #    if there is no content-length header, so they will cache
  765. #    partial responses and give them out as hits.  You should NOT
  766. #    use this option if you have downstream caches.
  767. #
  768. #    If you set this parameter to zero (the default), there will be
  769. #    no limit imposed.
  770. #reply_body_max_size 0
  771.  
  772. #  TAG: refresh_pattern
  773. #    usage: refresh_pattern [-i] regex min percent max [options]
  774. #
  775. #    By default, regular expressions are CASE-SENSITIVE.  To make
  776. #    them case-insensitive, use the -i option.
  777. #
  778. #    'Min' is the time (in minutes) an object without an explicit
  779. #    expiry time should be considered fresh. The recommended
  780. #    value is 0, any higher values may cause dynamic applications
  781. #    to be erroneously cached unless the application designer
  782. #    has taken the appropriate actions.
  783. #
  784. #    'Percent' is a percentage of the objects age (time since last
  785. #    modification age) an object without explicit expiry time
  786. #    will be considered fresh.
  787. #
  788. #    'Max' is an upper limit on how long objects without an explicit
  789. #    expiry time will be considered fresh.
  790. #
  791. #    options: override-expire
  792. #         override-lastmod
  793. #         reload-into-ims
  794. #         ignore-reload
  795. #
  796. #        override-expire enforces min age even if the server
  797. #        sent a Expires: header. Doing this VIOLATES the HTTP
  798. #        standard.  Enabling this feature could make you liable
  799. #        for problems which it causes.
  800. #
  801. #        override-lastmod enforces min age even on objects
  802. #        that was modified recently.
  803. #
  804. #        reload-into-ims changes client no-cache or ``reload''
  805. #        to If-Modified-Since requests. Doing this VIOLATES the
  806. #        HTTP standard. Enabling this feature could make you
  807. #        liable for problems which it causes.
  808. #
  809. #        ignore-reload ignores a client no-cache or ``reload''
  810. #        header. Doing this VIOLATES the HTTP standard. Enabling
  811. #        this feature could make you liable for problems which
  812. #        it causes.
  813. #        
  814. #    Please see the file doc/Release-Notes-1.1.txt for a full
  815. #    description of Squid's refresh algorithm.  Basically a
  816. #    cached object is: (the order is changed from 1.1.X)
  817. #
  818. #        FRESH if expires < now, else STALE
  819. #        STALE if age > max
  820. #        FRESH if lm-factor < percent, else STALE
  821. #        FRESH if age < min
  822. #        else STALE
  823. #
  824. #    The refresh_pattern lines are checked in the order listed here.
  825. #    The first entry which matches is used.  If none of the entries
  826. #    match, then the default will be used.
  827. #
  828. #Default:
  829. refresh_pattern        ^ftp:        1440    20%    10080
  830. refresh_pattern        ^gopher:    1440    0%    1440
  831. refresh_pattern     .        0    20%    4320
  832.  
  833. #  TAG: replacement_policy
  834. #    The cache replacement policy parameter determines which
  835. #    objects are evicted (replaced) when disk space is needed.
  836. #    Squid used to have only a single replacement policy, LRU.
  837. #    But when built with -DHEAP_REPLACEMENT you can choose
  838. #    between two new, enhanced policies:
  839. #
  840. #           GDSF: Greedy-Dual Size Frequency
  841. #           LFUDA: Least Frequently Used with Dynamic Aging
  842. #
  843. #    Both of these policies are frequency based rather than recency
  844. #    based, and perform better than LRU.
  845. #
  846. #    The GDSF policy optimizes object hit rate by keeping smaller
  847. #    popular objects in cache so it has a better chance of getting a
  848. #    hit.  It achieves a lower byte hit rate than LFUDA though since
  849. #    it evicts larger (possibly popular) objects.
  850. #
  851. #    The LFUDA policy keeps popular objects in cache regardless of
  852. #    their size and thus optimizes byte hit rate at the expense of
  853. #    hit rate since one large, popular object will prevent many
  854. #    smaller, slightly less popular objects from being cached.
  855. #
  856. #    Both policies utilize a dynamic aging mechanism that prevents
  857. #    cache pollution that can otherwise occur with frequency-based
  858. #    replacement policies.
  859. #
  860. #    NOTE: if using the LFUDA replacement policy you should increase
  861. #    the value of maximum_object_size above its default of 4096 KB to
  862. #    to maximize the potential byte hit rate improvement of LFUDA.  
  863. #
  864. #    For more information about these cache replacement policies see
  865. #    http://www.hpl.hp.com/techreports/1999/HPL-1999-69.html and
  866. #    http://fog.hpl.external.hp.com/techreports/98/HPL-98-173.html.
  867. #
  868. #replacement_policy LFUDA
  869.  
  870. #  TAG: reference_age
  871. #    As a part of normal operation, Squid performs Least Recently
  872. #    Used removal of cached objects.  The LRU age for removal is
  873. #    computed dynamically, based on the amount of disk space in
  874. #    use.  The dynamic value can be seen in the Cache Manager 'info'
  875. #    output.
  876. #
  877. #    The 'reference_age' parameter defines the maximum LRU age.  For
  878. #    example, setting reference_age to '1 week' will cause objects
  879. #    to be removed if they have not been accessed for a week or
  880. #    more.  The default value is one year.
  881. #
  882. #    Specify a number here, followed by units of time.  For example:
  883. #        1 week
  884. #        3.5 days
  885. #        4 months
  886. #        2.2 hours
  887. #
  888. #    NOTE: this parameter is not used when using the enhanced
  889. #    replacement policies, GDSH or LFUDA.
  890. #
  891. #reference_age 1 year
  892.  
  893. #  TAG: quick_abort_min    (KB)
  894. #  TAG: quick_abort_max    (KB)
  895. #  TAG: quick_abort_pct    (percent)
  896. #    The cache can be configured to continue downloading aborted
  897. #    requests.  This may be undesirable on slow (e.g. SLIP) links
  898. #    and/or very busy caches.  Impatient users may tie up file
  899. #    descriptors and bandwidth by repeatedly requesting and
  900. #    immediately aborting downloads.
  901. #
  902. #    When the user aborts a request, Squid will check the
  903. #    quick_abort values to the amount of data transfered until
  904. #    then.
  905. #
  906. #    If the transfer has less than 'quick_abort_min' KB remaining,
  907. #    it will finish the retrieval.  Setting 'quick_abort_min' to -1
  908. #    will disable the quick_abort feature.
  909. #
  910. #    If the transfer has more than 'quick_abort_max' KB remaining,
  911. #    it will abort the retrieval.
  912. #
  913. #    If more than 'quick_abort_pct' of the transfer has completed,
  914. #    it will finish the retrieval.
  915. #
  916. #quick_abort_min 16 KB
  917. #quick_abort_max 16 KB
  918. #quick_abort_pct 95
  919.  
  920. #  TAG: negative_ttl    time-units
  921. #    Time-to-Live (TTL) for failed requests.  Certain types of
  922. #    failures (such as "connection refused" and "404 Not Found") are
  923. #    negatively-cached for a configurable amount of time.  The
  924. #    default is 5 minutes.  Note that this is different from
  925. #    negative caching of DNS lookups.
  926. #
  927. #negative_ttl 5 minutes
  928.  
  929. #  TAG: positive_dns_ttl    time-units
  930. #    Time-to-Live (TTL) for positive caching of successful DNS lookups.
  931. #    Default is 6 hours (360 minutes).  If you want to minimize the
  932. #    use of Squid's ipcache, set this to 1, not 0.
  933. #
  934. #positive_dns_ttl 6 hours
  935.  
  936. #  TAG: negative_dns_ttl    time-units
  937. #    Time-to-Live (TTL) for negative caching of failed DNS lookups.
  938. #
  939. #negative_dns_ttl 5 minutes
  940.  
  941. #  TAG: range_offset_limit    (bytes)
  942. #    Sets a upper limit on how far into the the file a Range request
  943. #    may be to cause Squid to prefetch the whole file. If beyond this
  944. #    limit then Squid forwards the Range request as it is and the result
  945. #    is NOT cached.
  946. #
  947. #    This is to stop a far ahead range request (lets say start at 17MB)
  948. #    from making Squid fetch the whole object up to that point before
  949. #    sending anything to the client.
  950. #
  951. #    A value of -1 causes Squid to always fetch the object from the
  952. #    beginning so that it may cache the result. (2.0 style)
  953. #
  954. #    A value of 0 causes Squid to never fetch more than the client
  955. #    client requested. (default)
  956. #
  957. #range_offset_limit 0 KB
  958.  
  959.  
  960. # TIMEOUTS
  961. # -----------------------------------------------------------------------------
  962.  
  963. #  TAG: connect_timeout    time-units
  964. #    Some systems (notably Linux) can not be relied upon to properly
  965. #    time out connect(2) requests.  Therefore the Squid process
  966. #    enforces its own timeout on server connections.  This parameter
  967. #    specifies how long to wait for the connect to complete.  The
  968. #    default is two minutes (120 seconds).
  969. #
  970. #connect_timeout 120 seconds
  971.  
  972. #  TAG: peer_connect_timeout    time-units
  973. #    This parameter specifies how long to wait for a pending TCP
  974. #    connection to a peer cache.  The default is 30 seconds.   You
  975. #    may also set different timeout values for individual neighbors
  976. #    with the 'connect-timeout' option on a 'cache_peer' line.
  977. #peer_connect_timeout 30 seconds
  978.  
  979. #  TAG: siteselect_timeout    time-units
  980. #    For URN to multiple URL's URL selection
  981. #
  982. #siteselect_timeout 4 seconds
  983.  
  984. #  TAG: read_timeout    time-units
  985. #    The read_timeout is applied on server-side connections.  After
  986. #    each successful read(), the timeout will be extended by this
  987. #    amount.  If no data is read again after this amount of time,
  988. #    the request is aborted and logged with ERR_READ_TIMEOUT.  The
  989. #    default is 15 minutes.
  990. #
  991. #read_timeout 15 minutes
  992.  
  993. #  TAG: request_timeout
  994. #    How long to wait for an HTTP request after connection
  995. #    establishment.  For persistent connections, wait this long
  996. #    after the previous request completes.
  997. #
  998. #request_timeout 30 seconds
  999.  
  1000. #  TAG: client_lifetime    time-units
  1001. #    The maximum amount of time that a client (browser) is allowed to
  1002. #    remain connected to the cache process.  This protects the Cache
  1003. #    from having a lot of sockets (and hence file descriptors) tied up
  1004. #    in a CLOSE_WAIT state from remote clients that go away without
  1005. #    properly shutting down (either because of a network failure or
  1006. #    because of a poor client implementation).  The default is one
  1007. #    day, 1440 minutes.
  1008. #
  1009. #    NOTE:  The default value is intended to be much larger than any
  1010. #    client would ever need to be connected to your cache.  You
  1011. #    should probably change client_lifetime only as a last resort.
  1012. #    If you seem to have many client connections tying up
  1013. #    filedescriptors, we recommend first tuning the read_timeout,
  1014. #    request_timeout, pconn_timeout and quick_abort values.
  1015. #
  1016. #client_lifetime 1 day
  1017.  
  1018. #  TAG: half_closed_clients
  1019. #    Some clients may shutdown the sending side of their TCP
  1020. #    connections, while leaving their receiving sides open.    Sometimes,
  1021. #    Squid can not tell the difference between a half-closed and a
  1022. #    fully-closed TCP connection.  By default, half-closed client
  1023. #    connections are kept open until a read(2) or write(2) on the
  1024. #    socket returns an error.  Change this option to 'off' and Squid
  1025. #    will immediately close client connections when read(2) returns
  1026. #    "no more data to read."
  1027. #
  1028. #half_closed_clients on
  1029.  
  1030. #  TAG: pconn_timeout
  1031. #    Timeout for idle persistent connections to servers and other
  1032. #    proxies.
  1033. #pconn_timeout 120 seconds
  1034.  
  1035. #  TAG: ident_timeout
  1036. #    Maximum time to wait for IDENT requests.  If this is too high,
  1037. #    and you enabled 'ident_lookup', then you might be susceptible
  1038. #    to denial-of-service by having many ident requests going at
  1039. #    once.
  1040. #
  1041. #    Only src type ACL checks are fully supported.  A src_domain
  1042. #    ACL might work at times, but it will not always provide
  1043. #    the correct result.
  1044. #
  1045. #    This option may be disabled by using --disable-ident with
  1046. #    the configure script.
  1047. #ident_timeout 10 seconds
  1048.  
  1049. #  TAG: shutdown_lifetime    time-units
  1050. #    When SIGTERM or SIGHUP is received, the cache is put into
  1051. #    "shutdown pending" mode until all active sockets are closed.
  1052. #    This value is the lifetime to set for all open descriptors
  1053. #    during shutdown mode.  Any active clients after this many
  1054. #    seconds will receive a 'timeout' message.
  1055. #
  1056. #shutdown_lifetime 30 seconds
  1057.  
  1058.  
  1059. # ACCESS CONTROLS
  1060. # -----------------------------------------------------------------------------
  1061.  
  1062. #  TAG: acl
  1063. #    Defining an Access List
  1064. #
  1065. #    acl aclname acltype string1 ...
  1066. #    acl aclname acltype "file" ...
  1067. #
  1068. #    when using "file", the file should contain one item per line
  1069. #
  1070. #    acltype is one of src dst srcdomain dstdomain url_pattern
  1071. #        urlpath_pattern time port proto method browser user
  1072. #
  1073. #    By default, regular expressions are CASE-SENSITIVE.  To make
  1074. #    them case-insensitive, use the -i option.
  1075. #
  1076. #    acl aclname src      ip-address/netmask ... (clients IP address)
  1077. #    acl aclname src      addr1-addr2/netmask ... (range of addresses)
  1078. #    acl aclname dst      ip-address/netmask ... (URL host's IP address)
  1079. #    acl aclname myip     ip-address/netmask ... (local socket IP address)
  1080. #
  1081. #    acl aclname srcdomain   foo.com ...     # reverse lookup, client IP
  1082. #    acl aclname dstdomain   foo.com ...     # Destination server from URL
  1083. #    acl aclname srcdom_regex [-i] xxx ...   # regex matching client name
  1084. #    acl aclname dstdom_regex [-i] xxx ...   # regex matching server
  1085. #      # For dstdomain and dstdom_regex  a reverse lookup is tried if a IP
  1086. #      # based URL is used. The name "none" is used if the reverse lookup
  1087. #      # fails.
  1088. #
  1089. #    acl aclname time     [day-abbrevs]  [h1:m1-h2:m2]
  1090. #        day-abbrevs:
  1091. #        S - Sunday
  1092. #        M - Monday
  1093. #        T - Tuesday
  1094. #        W - Wednesday
  1095. #        H - Thursday
  1096. #        F - Friday
  1097. #        A - Saturday
  1098. #        h1:m1 must be less than h2:m2
  1099. #    acl aclname url_regex [-i] ^http:// ...    # regex matching on whole URL
  1100. #    acl aclname urlpath_regex [-i] \.gif$ ...    # regex matching on URL path
  1101. #    acl aclname port     80 70 21 ...
  1102. #    acl aclname port     0-1024 ...        # ranges allowed
  1103. #    acl aclname myport   3128 ...        # (local socket TCP port)
  1104. #    acl aclname proto    HTTP FTP ...
  1105. #    acl aclname method   GET POST ...
  1106. #    acl aclname browser  [-i] regexp
  1107. #      # pattern match on User-Agent header
  1108. #    acl aclname ident    username ...
  1109. #      # string match on ident output.
  1110. #      # use REQUIRED to accept any non-null ident.
  1111. #    acl aclname src_as   number ... 
  1112. #    acl aclname dst_as   number ...
  1113. #      # Except for access control, AS numbers can be used for
  1114. #      # routing of requests to specific caches. Here's an 
  1115. #      # example for routing all requests for AS#1241 and only 
  1116. #      # those to mycache.mydomain.net:
  1117. #      # acl asexample dst_as 1241
  1118. #      # cache_peer_access mycache.mydomain.net allow asexample
  1119. #      # cache_peer_access mycache_mydomain.net deny all
  1120. #
  1121. #    acl aclname proxy_auth username ...
  1122. #      # list of valid usernames
  1123. #      # use REQUIRED to accept any valid username.
  1124. #      #
  1125. #      # NOTE: when a Proxy-Authentication header is sent but it is not
  1126. #      # needed during ACL checking the username is NOT logged
  1127. #      # in access.log.
  1128. #      #
  1129. #      # NOTE: proxy_auth requires a EXTERNAL authentication program
  1130. #      # to check username/password combinations (see
  1131. #      # authenticate_program).
  1132. #      #
  1133. #      # WARNING: proxy_auth can't be used in a transparent proxy. It
  1134. #      # collides with any authentication done by origin servers. It may
  1135. #      # seem like it works at first, but it doesn't.
  1136. #
  1137. #    acl aclname snmp_community string ...
  1138. #      # A community string to limit access to your SNMP Agent
  1139. #      # Example:
  1140. #      # 
  1141. #      #    acl snmppublic snmp_community public
  1142. #
  1143. #    acl aclname maxconn number
  1144. #      # This will be matched when the client's IP address has
  1145. #      # more than <number> HTTP connections established.
  1146. #
  1147. #
  1148. #Examples:
  1149. #acl myexample dst_as 1241
  1150. #acl password proxy_auth REQUIRED
  1151. #
  1152. #Defaults:
  1153. acl all src 0.0.0.0/0.0.0.0
  1154. acl manager proto cache_object
  1155. acl localhost src 127.0.0.1/255.255.255.255
  1156. acl SSL_ports port 443 563
  1157. acl Safe_ports port 80 21 443 563 70 210 1025-65535
  1158. acl Safe_ports port 280        # http-mgmt
  1159. acl Safe_ports port 488        # gss-http
  1160. acl Safe_ports port 591        # filemaker
  1161. acl Safe_ports port 777        # multiling http
  1162. acl CONNECT method CONNECT
  1163.  
  1164. #  TAG: http_access
  1165. #    Allowing or Denying access based on defined access lists
  1166. #
  1167. #    Access to the HTTP port:
  1168. #    http_access allow|deny [!]aclname ...
  1169. #
  1170. #    Access to the ICP port:
  1171. #    icp_access  allow|deny [!]aclname ...
  1172. #
  1173. #    NOTE on default values:
  1174. #
  1175. #    If there are no "access" lines present, the default is to allow
  1176. #    the request.
  1177. #
  1178. #    If none of the "access" lines cause a match, the default is the
  1179. #    opposite of the last line in the list.  If the last line was
  1180. #    deny, then the default is allow.  Conversely, if the last line
  1181. #    is allow, the default will be deny.  For these reasons, it is a
  1182. #    good idea to have an "deny all" or "allow all" entry at the end
  1183. #    of your access lists to avoid potential confusion.
  1184. #
  1185. #Default configuration:
  1186. http_access allow manager localhost
  1187. http_access deny manager
  1188. http_access deny !Safe_ports
  1189. http_access deny CONNECT !SSL_ports
  1190. #
  1191. # INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
  1192. #
  1193. http_access deny all
  1194.  
  1195. #  TAG: icp_access
  1196. #    Reply to all ICP queries we receive
  1197. #
  1198. icp_access allow all
  1199.  
  1200. #  TAG: miss_access
  1201. #    Use to force your neighbors to use you as a sibling instead of
  1202. #    a parent.  For example:
  1203. #
  1204. #        acl localclients src 172.16.0.0/16
  1205. #        miss_access allow localclients
  1206. #        miss_access deny  !localclients
  1207. #
  1208. #    This means that only your local clients are allowed to fetch
  1209. #    MISSES and all other clients can only fetch HITS.
  1210. #
  1211. #    By default, allow all clients who passed the http_access rules
  1212. #    to fetch MISSES from us.
  1213. miss_access allow all
  1214.  
  1215. #  TAG: cache_peer_access
  1216. #    Similar to 'cache_peer_domain' but provides more flexibility by
  1217. #    using ACL elements.
  1218. #
  1219. #    cache_peer_access cache-host allow|deny [!]aclname ...
  1220. #
  1221. #    The syntax is identical to 'http_access' and the other lists of
  1222. #    ACL elements.  See the comments for 'http_access' below, or
  1223. #    the Squid FAQ (http://squid.nlanr.net/Squid/FAQ/FAQ-10.html).
  1224.  
  1225. #  TAG: proxy_auth_realm
  1226. #    Specifies the realm name which is to be reported to the client for
  1227. #    proxy authentication (part of the text the user will see when
  1228. #    prompted their username and password).
  1229. #
  1230. #proxy_auth_realm Squid proxy-caching web server
  1231.  
  1232. #  TAG: ident_lookup_access
  1233. #    A list of ACL elements which, if matched, cause an ident
  1234. #    (RFC 931) lookup to be performed for this request.  For
  1235. #    example, you might choose to always perform ident lookups
  1236. #    for your main multi-user Unix boxes, but not for your Macs
  1237. #    and PCs.  By default, ident lookups are not performed for
  1238. #    any requests.
  1239. #
  1240. #    To enable ident lookups for specific client addresses, you
  1241. #    can follow this example:
  1242. #    acl ident_aware_hosts src 198.168.1.0/255.255.255.0
  1243. #    ident_lookup_access allow ident_aware_hosts
  1244. #    ident_lookup_access deny all
  1245. #
  1246. #    This option may be disabled by using --disable-ident with
  1247. #    the configure script.
  1248. #ident_lookup_access deny all
  1249.  
  1250.  
  1251. # ADMINISTRATIVE PARAMETERS
  1252. # -----------------------------------------------------------------------------
  1253.  
  1254. #  TAG: cache_mgr
  1255. #    Email-address of local cache manager who will receive
  1256. #    mail if the cache dies.  The default is "webmaster."
  1257. #
  1258. #cache_mgr webmaster
  1259.  
  1260. #  TAG: cache_effective_user
  1261. #  TAG: cache_effective_group
  1262. #
  1263. #    If the cache is run as root, it will change its effective/real
  1264. #    UID/GID to the UID/GID specified below.  The default is to
  1265. #    change to UID to nobody and GID to nogroup.
  1266. #
  1267. #    If Squid is not started as root, the default is to keep the
  1268. #    current UID/GID.  Note that if Squid is not started as root then
  1269. #    you cannot set http_port to a value lower than 1024.
  1270. #
  1271. #cache_effective_user nobody
  1272. #cache_effective_group nogroup
  1273. cache_effective_user nobody
  1274. cache_effective_group nobody
  1275.  
  1276. #  TAG: visible_hostname
  1277. #    If you want to present a special hostname in error messages, etc,
  1278. #    then define this.  Otherwise, the return value of gethostname()
  1279. #    will be used. If you have multiple caches in a cluster and
  1280. #    get errors about IP-forwarding you must set them to have individual
  1281. #    names with this setting.
  1282. #
  1283. #visible_hostname www-cache.foo.org
  1284.  
  1285. #  TAG: unique_hostname
  1286. #    If you want to have multiple machines with the same
  1287. #    'visible_hostname' then you must give each machine a different
  1288. #    'unique_hostname' so that forwarding loops can be detected.
  1289. #
  1290. #unique_hostname www-cache1.foo.org
  1291.  
  1292. #  TAG: hostname_aliases
  1293. #    A list of other DNS names that your cache has.
  1294.  
  1295.  
  1296. # OPTIONS FOR THE CACHE REGISTRATION SERVICE
  1297. # -----------------------------------------------------------------------------
  1298. #
  1299. #    This section contains parameters for the (optional) cache
  1300. #    announcement service.  This service is provided to help
  1301. #    cache administrators locate one another in order to join or
  1302. #    create cache hierarchies.
  1303. #
  1304. #    An 'announcement' message is sent (via UDP) to the registration
  1305. #    service by Squid.  By default, the announcement message is NOT
  1306. #    SENT unless you enable it with 'announce_period' below.
  1307. #
  1308. #    The announcement message includes your hostname, plus the
  1309. #    following information from this configuration file:
  1310. #
  1311. #        http_port
  1312. #        icp_port
  1313. #        cache_mgr
  1314. #
  1315. #    All current information is processed regularly and made
  1316. #    available on the Web at http://ircache.nlanr.net/Cache/Tracker/.
  1317.  
  1318. #  TAG: announce_period
  1319. #    This is how frequently to send cache announcements.  The
  1320. #    default is `0' which disables sending the announcement
  1321. #    messages.
  1322. #
  1323. #    To enable announcing your cache, just uncomment the line
  1324. #    below.
  1325. #
  1326. #announce_period 1 day
  1327.  
  1328. #  TAG: announce_host
  1329. #  TAG: announce_file
  1330. #  TAG: announce_port
  1331. #    announce_host and announce_port set the hostname and port
  1332. #    number where the registration message will be sent.
  1333. #
  1334. #    Hostname will default to 'tracker.ircache.net' and port will
  1335. #    default default to 3131.  If the 'filename' argument is given,
  1336. #    the contents of that file will be included in the announce
  1337. #    message.
  1338. #
  1339. #announce_host tracker.ircache.net
  1340. #announce_port 3131
  1341.  
  1342.  
  1343. # HTTPD-ACCELERATOR OPTIONS
  1344. # -----------------------------------------------------------------------------
  1345.  
  1346. #  TAG: httpd_accel_host
  1347. #  TAG: httpd_accel_port
  1348. #    If you want to run Squid as an httpd accelerator, define the
  1349. #    host name and port number where the real HTTP server is.
  1350. #
  1351. #    If you want virtual host support then specify the hostname
  1352. #    as "virtual".
  1353. #
  1354. #    NOTE: enabling httpd_accel_host disables proxy-caching and
  1355. #    ICP.  If you want these features enabled also, then set
  1356. #    the 'httpd_accel_with_proxy' option.
  1357. #
  1358. #httpd_accel_host hostname
  1359. #httpd_accel_port port
  1360.  
  1361. #  TAG: httpd_accel_with_proxy    on|off
  1362. #    If you want to use Squid as both a local httpd accelerator
  1363. #    and as a proxy, change this to 'on'.
  1364. #
  1365. #httpd_accel_with_proxy off
  1366.  
  1367. #  TAG: httpd_accel_uses_host_header    on|off
  1368. #    HTTP/1.1 requests include a Host: header which is basically the
  1369. #    hostname from the URL.  Squid can be an accelerator for
  1370. #    different HTTP servers by looking at this header.  However,
  1371. #    Squid does NOT check the value of the Host header, so it opens
  1372. #    a big security hole.  We recommend that this option remain
  1373. #    disabled unless you are sure of what you are doing.
  1374. #
  1375. #    However, you will need to enable this option if you run Squid
  1376. #    as a transparent proxy.  Otherwise, virtual servers which
  1377. #    require the Host: header will not be properly cached.
  1378. #httpd_accel_uses_host_header off
  1379.  
  1380.  
  1381. # MISCELLANEOUS
  1382. # -----------------------------------------------------------------------------
  1383.  
  1384. #  TAG: dns_testnames
  1385. #    The DNS tests exit as soon as the first site is successfully looked up
  1386. #
  1387. #    If you want to disable DNS tests, do not comment out or delete this
  1388. #    list.  Instead use the -D command line option
  1389. #
  1390. #dns_testnames netscape.com internic.net nlanr.net microsoft.com
  1391.  
  1392. #  TAG: logfile_rotate
  1393. #    Specifies the number of logfile rotations to make when you
  1394. #    type 'squid -k rotate'.  The default is 10, which will rotate
  1395. #    with extensions 0 through 9.  Setting logfile_rotate to 0 will
  1396. #    disable the rotation, but the logfiles are still closed and
  1397. #    re-opened.  This will enable you to rename the logfiles
  1398. #    yourself just before sending the rotate signal.
  1399. #
  1400. #    Note, the 'squid -k rotate' command normally sends a USR1
  1401. #    signal to the running squid process.  In certain situations
  1402. #    (e.g. on Linux with Async I/O), USR1 is used for other
  1403. #    purposes, so -k rotate uses another signal.  It is best to get
  1404. #    in the habit of using 'squid -k rotate' instead of 'kill -USR1
  1405. #    <pid>'.
  1406. #
  1407. #logfile_rotate 10
  1408.  
  1409. #  TAG: append_domain
  1410. #    Appends local domain name to hostnames without any dots in
  1411. #    them.  append_domain must begin with a period.
  1412. #
  1413. #append_domain .yourdomain.com
  1414.  
  1415. #  TAG: tcp_recv_bufsize    (bytes)
  1416. #    Size of receive buffer to set for TCP sockets.  Probably just
  1417. #    as easy to change your kernel's default.  Set to zero to use
  1418. #    the default buffer size.
  1419. #
  1420. #tcp_recv_bufsize 0 bytes
  1421.  
  1422. #  TAG: err_html_text
  1423. #    HTML text to include in error messages.  Make this a "mailto"
  1424. #    URL to your admin address, or maybe just a link to your
  1425. #    organizations Web page.
  1426. #
  1427. #    To include this in your error messages, you must rewrite
  1428. #    the error template files (found in the "errors" directory).
  1429. #    Wherever you want the 'err_html_text' line to appear,
  1430. #    insert a %L tag in the error template file.
  1431. #err_html_text
  1432.  
  1433. #  TAG: deny_info
  1434. #    Usage:   deny_info err_page_name acl
  1435. #    Example: deny_info ERR_CUSTOM_ACCESS_DENIED bad_guys
  1436. #
  1437. #    This can be used to return a ERR_ page for requests which
  1438. #    do not pass the 'http_access' rules.  A single ACL will cause
  1439. #    the http_access check to fail.  If a 'deny_info' line exists
  1440. #    for that ACL then Squid returns a corresponding error page.
  1441. #
  1442. #    You may use ERR_ pages that come with Squid or create your own pages
  1443. #    and put them into the configured errors/ directory.
  1444.  
  1445. #  TAG: memory_pools    on|off
  1446. #    If set, Squid will keep pools of allocated (but unused) memory
  1447. #    available for future use.  If memory is a premium on your
  1448. #    system and you believe your malloc library outperforms Squid 
  1449. #    routines, disable this.
  1450. #
  1451. #memory_pools on
  1452.  
  1453. #  TAG: memory_pools_limit    (bytes)
  1454. #    Used only with memory_pools on:
  1455. #    memory_pools_limit 50 MB
  1456. #
  1457. #    If set to a non-zero value, Squid will keep at most the specified
  1458. #    limit of allocated (but unused) memory in memory pools. All free()
  1459. #    requests that exceed this limit will be handled by your malloc
  1460. #    library. Squid does not pre-allocate any memory, just safe-keeps
  1461. #    objects that otherwise would be free()d. Thus, it is safe to set
  1462. #    memory_pools_limit to a reasonably high value even if your
  1463. #    configuration will use less memory.
  1464. #
  1465. #    If not set (default) or set to zero, Squid will keep all memory it
  1466. #    can. That is, there will be no limit on the total amount of memory
  1467. #    used for safe-keeping.
  1468. #
  1469. #    To disable memory allocation optimization, do not set
  1470. #    memory_pools_limit to 0. Set memory_pools to "off" instead.
  1471. #
  1472. #    An overhead for maintaining memory pools is not taken into account
  1473. #    when the limit is checked. This overhead is close to four bytes per
  1474. #    object kept. However, pools may actually _save_ memory because of
  1475. #    reduced memory thrashing in your malloc library.
  1476.  
  1477. #  TAG: forwarded_for    on|off
  1478. #    If set, Squid will include your system's IP address or name
  1479. #    in the HTTP requests it forwards.  By default it looks like
  1480. #    this:
  1481. #
  1482. #        X-Forwarded-For: 192.1.2.3
  1483. #
  1484. #    If you disable this, it will appear as
  1485. #
  1486. #        X-Forwarded-For: unknown
  1487. #
  1488. #forwarded_for on
  1489.  
  1490. #  TAG: log_icp_queries    on|off
  1491. #    If set, ICP queries are logged to access.log. You may wish
  1492. #    do disable this if your ICP load is VERY high to speed things
  1493. #    up or to simplify log analysis.
  1494. #
  1495. #log_icp_queries on
  1496.  
  1497. #  TAG: icp_hit_stale    on|off
  1498. #    If you want to return ICP_HIT for stale cache objects, set this
  1499. #    option to 'on'.  If you have sibling relationships with caches
  1500. #    in other administrative domains, this should be 'off'.  If you only
  1501. #    have sibling relationships with caches under your control, then
  1502. #    it is probably okay to set this to 'on'.
  1503. #
  1504. #icp_hit_stale off
  1505.  
  1506. #  TAG: minimum_direct_hops
  1507. #    If using the ICMP pinging stuff, do direct fetches for sites
  1508. #    which are no more than this many hops away.
  1509. #
  1510. #minimum_direct_hops 4
  1511.  
  1512. #  TAG: cachemgr_passwd
  1513. #    Specify passwords for cachemgr operations.
  1514. #
  1515. #    Usage: cachemgr_passwd password action action ...
  1516. #
  1517. #    Some valid actions are (see cache manager menu for a full list):
  1518. #        5min
  1519. #        60min
  1520. #        asndb
  1521. #        authenticator
  1522. #        cbdata
  1523. #        client_list
  1524. #        comm_incoming
  1525. #        config *
  1526. #        counters
  1527. #        delay
  1528. #        digest_stats
  1529. #        dns
  1530. #        events
  1531. #        filedescriptors
  1532. #        fqdncache
  1533. #        histograms
  1534. #        http_headers
  1535. #        info
  1536. #        io
  1537. #        ipcache
  1538. #        mem
  1539. #        menu
  1540. #        netdb
  1541. #        non_peers
  1542. #        objects
  1543. #        pconn
  1544. #        peer_select
  1545. #        redirector
  1546. #        refresh
  1547. #        server_list
  1548. #        shutdown *
  1549. #        store_digest
  1550. #        storedir
  1551. #        utilization
  1552. #        via_headers
  1553. #        vm_objects
  1554. #
  1555. #    * Indicates actions which will not be performed without a
  1556. #      valid password, others can be performed if not listed here.
  1557. #
  1558. #    To disable an action, set the password to "disable".
  1559. #    To allow performing an action without a password, set the
  1560. #    password to "none".
  1561. #
  1562. #    Use the keyword "all" to set the same password for all actions.
  1563. #
  1564. #cachemgr_passwd secret shutdown
  1565. #cachemgr_passwd lesssssssecret info stats/objects
  1566. #cachemgr_passwd disable all
  1567.  
  1568. #  TAG: store_avg_object_size    (kbytes)
  1569. #    Average object size, used to estimate number of objects your
  1570. #    cache can hold.  See doc/Release-Notes-1.1.txt.  The default is
  1571. #    13 KB.
  1572. #
  1573. #store_avg_object_size 13 KB
  1574.  
  1575. #  TAG: store_objects_per_bucket
  1576. #    Target number of objects per bucket in the store hash table.
  1577. #    Lowering this value increases the total number of buckets and
  1578. #    also the storage maintenance rate.  The default is 50.
  1579. #
  1580. #store_objects_per_bucket 50
  1581.  
  1582. #  TAG: client_db    on|off
  1583. #    If you want to disable collecting per-client statistics, then
  1584. #    turn off client_db here.
  1585. #
  1586. #client_db on
  1587.  
  1588. #  TAG: netdb_low
  1589. #  TAG: netdb_high
  1590. #    The low and high water marks for the ICMP measurement
  1591. #    database.  These are counts, not percents.  The defaults are
  1592. #    900 and 1000.  When the high water mark is reached, database
  1593. #    entries will be deleted until the low mark is reached.
  1594. #
  1595. #netdb_low 900
  1596. #netdb_high 1000
  1597.  
  1598. #  TAG: netdb_ping_period
  1599. #    The minimum period for measuring a site.  There will be at
  1600. #    least this much delay between successive pings to the same
  1601. #    network.  The default is five minutes.
  1602. #
  1603. #netdb_ping_period 5 minutes
  1604.  
  1605. #  TAG: query_icmp    on|off
  1606. #    If you want to ask your peers to include ICMP data in their ICP
  1607. #    replies, enable this option.
  1608. #
  1609. #    If your peer has configured Squid (during compilation) with
  1610. #    '--enable-icmp' then that peer will send ICMP pings to origin server
  1611. #    sites of the URLs it receives.  If you enable this option then the
  1612. #    ICP replies from that peer will include the ICMP data (if available).
  1613. #    Then, when choosing a parent cache, Squid will choose the parent with
  1614. #    the minimal RTT to the origin server.  When this happens, the
  1615. #    hierarchy field of the access.log will be
  1616. #    "CLOSEST_PARENT_MISS".  This option is off by default.
  1617. #
  1618. #query_icmp off
  1619.  
  1620. #  TAG: test_reachability    on|off
  1621. #    When this is 'on', ICP MISS replies will be ICP_MISS_NOFETCH
  1622. #    instead of ICP_MISS if the target host is NOT in the ICMP
  1623. #    database, or has a zero RTT.
  1624. #
  1625. #test_reachability off
  1626.  
  1627. #  TAG: buffered_logs    on|off
  1628. #    Some log files (cache.log, useragent.log) are written with
  1629. #    stdio functions, and as such they can be buffered or
  1630. #    unbuffered.  By default they will be unbuffered. Buffering them
  1631. #    can speed up the writing slightly (though you are unlikely to
  1632. #    need to worry).
  1633. #buffered_logs off
  1634.  
  1635. #  TAG: reload_into_ims    on|off
  1636. #    When you enable this option, client no-cache or ``reload''
  1637. #    requests will be changed to If-Modified-Since requests.
  1638. #    Doing this VIOLATES the HTTP standard.  Enabling this
  1639. #    feature could make you liable for problems which it
  1640. #    causes.
  1641. #    
  1642. #    see also refresh_pattern for a more selective approach.
  1643. #
  1644. #    This option may be disabled by using --disable-http-violations
  1645. #    with the configure script.
  1646. #reload_into_ims off
  1647.  
  1648. #  TAG: always_direct
  1649. #    Usage: always_direct allow|deny [!]aclname ...
  1650. #
  1651. #    Here you can use ACL elements to specify requests which should
  1652. #    ALWAYS be forwarded directly to origin servers.  For example,
  1653. #    to always directly forward requests for local servers use
  1654. #    something like:
  1655. #
  1656. #        acl local-servers dstdomain my.domain.net
  1657. #        always_direct allow local-servers
  1658. #
  1659. #    To always forward FTP requests directly, use
  1660. #
  1661. #        acl FTP proto FTP
  1662. #        always_direct allow FTP
  1663. #
  1664. #    NOTE: There is a similar, but opposite option named
  1665. #    'never_direct'.  You need to be aware that "always_direct deny
  1666. #    foo" is NOT the same thing as "never_direct allow foo".  You
  1667. #    may need to use a deny rule to exclude a more-specific case of
  1668. #    some other rule.  Example:
  1669. #
  1670. #        acl local-external dstdomain external.foo.net
  1671. #        acl local-servers dstdomain  foo.net
  1672. #        always_direct deny local-external
  1673. #        always_direct allow local-servers
  1674. #
  1675. #    This option replaces some v1.1 options such as local_domain
  1676. #    and local_ip.
  1677.  
  1678. #  TAG: never_direct
  1679. #    Usage: never_direct allow|deny [!]aclname ...
  1680. #
  1681. #    never_direct is the opposite of always_direct.  Please read
  1682. #    the description for always_direct if you have not already.
  1683. #
  1684. #    With 'never_direct' you can use ACL elements to specify
  1685. #    requests which should NEVER be forwarded directly to origin
  1686. #    servers.  For example, to force the use of a proxy for all
  1687. #    requests, except those in your local domain use something like:
  1688. #
  1689. #        acl local-servers dstdomain foo.net
  1690. #        acl all src 0.0.0.0/0.0.0.0
  1691. #        never_direct deny local-servers
  1692. #        never_direct allow all
  1693. #    
  1694. #    or if squid is inside a firewall and there is local intranet
  1695. #    servers inside the firewall then use something like:
  1696. #
  1697. #        acl local-intranet dstdomain foo.net
  1698. #        acl local-external dstdomain external.foo.net
  1699. #        always_direct deny local-external
  1700. #        always_direct allow local-intranet
  1701. #        never_direct allow all
  1702. #    
  1703. #    This option replaces some v1.1 options such as inside_firewall
  1704. #    and firewall_ip.
  1705.  
  1706. #  TAG: anonymize_headers
  1707. #    Usage: anonymize_headers allow|deny header_name ...
  1708. #
  1709. #    This option replaces the old 'http_anonymizer' option with
  1710. #    something that is much more configurable.  You may now
  1711. #    specify exactly which headers are to be allowed, or which
  1712. #    are to be removed from outgoing requests.
  1713. #
  1714. #    There are two methods of using this option.  You may either
  1715. #    allow specific headers (thus denying all others), or you
  1716. #    may deny specific headers (thus allowing all others).
  1717. #
  1718. #    For example, to achieve the same behavior as the old
  1719. #    'http_anonymizer standard' option, you should use:
  1720. #
  1721. #        anonymize_headers deny From Referer Server
  1722. #        anonymize_headers deny User-Agent WWW-Authenticate Link
  1723. #        
  1724. #    Or, to reproduce the old 'http_anonymizer paranoid' feature
  1725. #    you should use:
  1726. #
  1727. #        anonymize_headers allow Allow Authorization Cache-Control
  1728. #        anonymize_headers allow Content-Encoding Content-Length
  1729. #        anonymize_headers allow Content-Type Date Expires Host
  1730. #        anonymize_headers allow If-Modified-Since Last-Modified
  1731. #        anonymize_headers allow Location Pragma Accept
  1732. #        anonymize_headers allow Accept-Encoding Accept-Language
  1733. #        anonymize_headers allow Content-Language Mime-Version
  1734. #        anonymize_headers allow Retry-After Title Connection
  1735. #        anonymize_headers allow Proxy-Connection
  1736. #
  1737. #    NOTE: You can not mix "allow" and "deny".  All 'anonymize_headers'
  1738. #    lines must have the same second argument.
  1739. #
  1740. #    By default, all headers are allowed (no anonymizing is
  1741. #    performed).
  1742. #
  1743. #anonymize_headers
  1744.  
  1745. #  TAG: fake_user_agent
  1746. #    If you filter the User-Agent header with 'anonymize_headers' it
  1747. #    may cause some Web servers to refuse your request.  Use this to
  1748. #    fake one up.  For example:
  1749. #
  1750. #    fake_user_agent Nutscrape/1.0 (CP/M; 8-bit)
  1751. #    (credit to Paul Southworth pauls@etext.org for this one!)
  1752. #
  1753. #fake_user_agent none
  1754.  
  1755. #  TAG: icon_directory
  1756. #    Where the icons are stored. These are normally kept in
  1757. #    /usr/freeware/squid/etc/icons
  1758.  
  1759. #  TAG: error_directory
  1760. #    If you wish to create your own versions of the default
  1761. #    (English) error files, either to customize them to suit your
  1762. #    language or company copy the template English files to another
  1763. #    directory and point this tag at them.
  1764.  
  1765. #  TAG: minimum_retry_timeout    (seconds)
  1766. #    This specifies the minimum connect timeout, for when the
  1767. #    connect timeout is reduced to compensate for the availability
  1768. #    of multiple IP addresses.
  1769. #
  1770. #    When a connection to a host is initiated, and that host has
  1771. #    several IP addresses, the default connection timeout is reduced
  1772. #    by dividing it by the number of addresses.  So, a site with 15
  1773. #    addresses would then have a timeout of 8 seconds for each
  1774. #    address attempted.  To avoid having the timeout reduced to the
  1775. #    point where even a working host would not have a chance to
  1776. #    respond, this setting is provided.  The default, and the
  1777. #    minimum value, is five seconds, and the maximum value is sixty
  1778. #    seconds, or half of connect_timeout, whichever is greater and
  1779. #    less than connect_timeout.
  1780. #
  1781. #minimum_retry_timeout 5 seconds
  1782.  
  1783. #  TAG: maximum_single_addr_tries
  1784. #    This sets the maximum number of connection attempts for a
  1785. #    host that only has one address (for multiple-address hosts,
  1786. #    each address is tried once).
  1787. #
  1788. #    The default value is three tries, the (not recommended)
  1789. #    maximum is 255 tries.  A warning message will be generated
  1790. #    if it is set to a value greater than ten.
  1791. #
  1792. #maximum_single_addr_tries 3
  1793.  
  1794. #  TAG: snmp_port
  1795. #    Squid can now serve statistics and status information via SNMP.
  1796. #    By default it listens to port 3401 on the machine. If you don't
  1797. #    wish to use SNMP, set this to "0".
  1798. #
  1799. #    NOTE: SNMP support requires use the --enable-snmp configure
  1800. #    command line option.
  1801. #snmp_port 3401
  1802.  
  1803. #  TAG: snmp_access
  1804. #    Allowing or denying access to the SNMP port.
  1805. #
  1806. #    All access to the agent is denied by default.
  1807. #    usage:
  1808. #
  1809. #    snmp_access allow|deny [!]aclname ...
  1810. #
  1811. #Example:
  1812. #snmp_access allow snmppublic localhost
  1813. #snmp_access deny all
  1814.  
  1815. #  TAG: snmp_incoming_address
  1816. #  TAG: snmp_outgoing_address
  1817. #    Just like 'udp_incoming_address' above, but for the SNMP port.
  1818. #
  1819. #    snmp_incoming_address    is used for the SNMP socket receiving
  1820. #                messages from SNMP agents.
  1821. #    snmp_outgoing_address    is used for SNMP packets returned to SNMP
  1822. #                agents.
  1823. #
  1824. #    The default behavior is to not bind to any specific address.
  1825. #
  1826. #    NOTE, snmp_incoming_address and snmp_outgoing_address can not have
  1827. #    the same value since they both use port 3130.
  1828. #
  1829. #snmp_incoming_address 0.0.0.0
  1830. #snmp_outgoing_address 0.0.0.0
  1831.  
  1832. #  TAG: as_whois_server
  1833. #    WHOIS server to query for AS numbers.  NOTE: AS numbers are
  1834. #    queried only when Squid starts up, not for every request.
  1835.  
  1836. #  TAG: wccp_router
  1837. #    Use this option to define your WCCP ``home'' router for
  1838. #    Squid.   Setting the 'wccp_router' to 0.0.0.0 (the default)
  1839. #    disables WCCP.
  1840. #wccp_router 0.0.0.0
  1841.  
  1842. #  TAG: wccp_incoming_address
  1843. #  TAG: wccp_outgoing_address
  1844. #        wccp_incoming_address   Use this option if you require WCCP
  1845. #                messages to be received on only one
  1846. #                interface.  Do NOT use this option if
  1847. #                you're unsure how many interfaces you
  1848. #                have, or if you know you have only one
  1849. #                interface.
  1850. #
  1851. #    wccp_outgoing_address    Use this option if you require WCCP
  1852. #                messages to be sent out on only one
  1853. #                interface.  Do NOT use this option if
  1854. #                you're unsure how many interfaces you
  1855. #                have, or if you know you have only one
  1856. #                interface.
  1857. #
  1858. #        The default behavior is to not bind to any specific address.
  1859. #
  1860. #        NOTE, wccp_incoming_address and wccp_outgoing_address can not have
  1861. #        the same value since they both use port 2048.
  1862. #
  1863. #wccp_incoming_address 0.0.0.0
  1864. #wccp_outgoing_address 0.0.0.0
  1865.  
  1866.  
  1867. # DELAY POOL PARAMETERS (all require DELAY_POOLS compilation option)
  1868. # -----------------------------------------------------------------------------
  1869.  
  1870. #  TAG: delay_pools
  1871. #    This represents the number of delay pools to be used.  For example,
  1872. #    if you have one class 2 delay pool and one class 3 delays pool, you
  1873. #    have a total of 2 delay pools.
  1874. #
  1875. #    To enable this option, you must use --enable-delay-pools with the
  1876. #    configure script.
  1877. #delay_pools 0
  1878.  
  1879. #  TAG: delay_class
  1880. #    This defines the class of each delay pool.  There must be exactly one
  1881. #    delay_class line for each delay pool.  For example, to define two
  1882. #    delay pools, one of class 2 and one of class 3, the settings above
  1883. #    and here would be:
  1884. #
  1885. #delay_pools 2      # 2 delay pools
  1886. #delay_class 1 2    # pool 1 is a class 2 pool
  1887. #delay_class 2 3    # pool 2 is a class 3 pool
  1888. #
  1889. #    The delay pool classes are:
  1890. #
  1891. #        class 1        Everything is limited by a single aggregate
  1892. #                bucket.
  1893. #
  1894. #        class 2     Everything is limited by a single aggregate
  1895. #                bucket as well as an "individual" bucket chosen
  1896. #                from bits 25 through 32 of the IP address.
  1897. #
  1898. #        class 3        Everything is limited by a single aggregate
  1899. #                bucket as well as a "network" bucket chosen
  1900. #                from bits 17 through 24 of the IP address and a
  1901. #                "individual" bucket chosen from bits 17 through
  1902. #                32 of the IP address.
  1903. #
  1904. #    NOTE: If an IP address is a.b.c.d
  1905. #        -> bits 25 through 32 are "d"
  1906. #        -> bits 17 through 24 are "c"
  1907. #        -> bits 17 through 32 are "c * 256 + d"
  1908.  
  1909. #  TAG: delay_access
  1910. #    This is used to determine which delay pool a request falls into.
  1911. #    The first matched delay pool is always used, i.e., if a request falls
  1912. #    into delay pool number one, no more delay are checked, otherwise the
  1913. #    rest are checked in order of their delay pool number until they have
  1914. #    all been checked.  For example, if you want some_big_clients in delay
  1915. #    pool 1 and lotsa_little_clients in delay pool 2:
  1916. #
  1917. #delay_access 1 allow some_big_clients
  1918. #delay_access 1 deny all
  1919. #delay_access 2 allow lotsa_little_clients
  1920. #delay_access 2 deny all
  1921.  
  1922. #  TAG: delay_parameters
  1923. #    This defines the parameters for a delay pool.  Each delay pool has
  1924. #    a number of "buckets" associated with it, as explained in the
  1925. #    description of delay_class.  For a class 1 delay pool, the syntax is:
  1926. #
  1927. #delay_parameters pool aggregate
  1928. #
  1929. #    For a class 2 delay pool:
  1930. #
  1931. #delay_parameters pool aggregate individual
  1932. #
  1933. #    For a class 3 delay pool:
  1934. #
  1935. #delay_parameters pool aggregate network individual
  1936. #
  1937. #    The variables here are:
  1938. #
  1939. #        pool        a pool number - ie, a number between 1 and the
  1940. #                number specified in delay_pools as used in
  1941. #                delay_class lines.
  1942. #
  1943. #        aggregate    the "delay parameters" for the aggregate bucket
  1944. #                (class 1, 2, 3).
  1945. #
  1946. #        individual    the "delay parameters" for the individual
  1947. #                buckets (class 2, 3).
  1948. #
  1949. #        network        the "delay parameters" for the network buckets
  1950. #                (class 3).
  1951. #
  1952. #    A pair of delay parameters is written restore/maximum, where restore is
  1953. #    the number of bytes (not bits - modem and network speeds are usually
  1954. #    quoted in bits) per second placed into the bucket, and maximum is the
  1955. #    maximum number of bytes which can be in the bucket at any time.
  1956. #
  1957. #    For example, if delay pool number 1 is a class 2 delay pool as in the
  1958. #    above example, and is being used to strictly limit each host to 64kbps
  1959. #    (plus overheads), with no overall limit, the line is:
  1960. #
  1961. #delay_parameters 1 -1/-1 8000/8000
  1962. #
  1963. #    Note that the figure -1 is used to represent "unlimited".
  1964. #
  1965. #    And, if delay pool number 2 is a class 3 delay pool as in the above
  1966. #    example, and you want to limit it to a total of 256kbps (strict limit)
  1967. #    with each 8-bit network permitted 64kbps (strict limit) and each
  1968. #    individual host permitted 4800bps with a bucket maximum size of 64kb
  1969. #    to permit a decent web page to be downloaded at a decent speed
  1970. #    (if the network is not being limited due to overuse) but slow down
  1971. #    large downloads more significantly:
  1972. #
  1973. #delay_parameters 2 32000/32000 8000/8000 600/64000
  1974. #
  1975. #    There must be one delay_parameters line for each delay pool.
  1976.  
  1977. #  TAG: delay_initial_bucket_level    (percent, 0-100)
  1978. #    The initial bucket percentage is used to determine how much is put
  1979. #    in each bucket when squid starts, is reconfigured, or first notices
  1980. #    a host accessing it (in class 2 and class 3, individual hosts and
  1981. #    networks only have buckets associated with them once they have been
  1982. #    "seen" by squid).
  1983. #
  1984. #delay_initial_bucket_level 50
  1985.  
  1986. #  TAG: incoming_icp_average
  1987. #  TAG: incoming_http_average
  1988. #  TAG: min_icp_poll_cnt
  1989. #  TAG: min_http_poll_cnt
  1990. #    Heavy voodoo here.  I can't even believe you are reading this.
  1991. #    Are you crazy?  Don't even think about adjusting these unless
  1992. #    you understand the algorithms in comm_select.c first!
  1993. #
  1994. #incoming_icp_average 6
  1995. #incoming_http_average 4
  1996. #min_icp_poll_cnt 8
  1997. #min_http_poll_cnt 8
  1998.  
  1999. #  TAG: max_open_disk_fds
  2000. #  TAG: offline_mode
  2001. #    Enable this option and Squid will never try to validate cached
  2002. #    objects.
  2003.  
  2004. #  TAG: uri_whitespace
  2005. #    What to do with requests that have whitespace characters in the
  2006. #    URI.  Options:
  2007. #
  2008. #    strip:  The whitespace characters are stripped out of the URL.
  2009. #        This is the behavior recommended by RFC2616.
  2010. #    deny:   The request is denied.  The user receives an "Invalid
  2011. #        Request" message.
  2012. #    allow:  The request is allowed and the URI is not changed.  The
  2013. #        whitespace characters remain in the URI.  Note the
  2014. #        whitespace is passed to redirector processes if they
  2015. #        are in use.
  2016. #    encode:    The request is allowed and the whitespace characters are
  2017. #        encoded according to RFC1738.  This could be considered
  2018. #        a violation of the HTTP/1.1
  2019. #        RFC because proxies are not allowed to rewrite URI's.
  2020. #    chop:    The request is allowed and the URI is chopped at the
  2021. #        first whitespace.  This might also be considered a
  2022. #        violation.
  2023. #uri_whitespace strip
  2024.  
  2025. #  TAG: broken_posts
  2026. #    A list of ACL elements which, if matched, causes Squid to send
  2027. #    a extra CRLF pair after the body of a PUT/POST request.
  2028. #
  2029. #    Some HTTP servers has broken implementations of PUT/POST,
  2030. #    and rely on a extra CRLF pair sent by some WWW clients.
  2031. #
  2032. #    Quote from RFC 2068 section 4.1 on this matter:
  2033. #
  2034. #      Note: certain buggy HTTP/1.0 client implementations generate an
  2035. #      extra CRLF's after a POST request. To restate what is explicitly
  2036. #      forbidden by the BNF, an HTTP/1.1 client must not preface or follow
  2037. #      a request with an extra CRLF.
  2038. #
  2039. #acl buggy_server url_regex ^http://....
  2040. #broken_posts allow buggy_server
  2041.  
  2042. #  TAG: mcast_miss_addr
  2043. #    If you enable this option, every "cache miss" URL will
  2044. #    be sent out on the specified multicast address.
  2045. #
  2046. #    Do not enable this option unless you are are absolutely
  2047. #    certain you understand what you are doing.
  2048.  
  2049. #  TAG: mcast_miss_ttl
  2050. #    This is the time-to-live value for packets multicasted
  2051. #    when multicasting off cache miss URLs is enabled.  By
  2052. #    default this is set to 'site scope', i.e. 16.
  2053.  
  2054. #  TAG: mcast_miss_port
  2055. #    This is the port number to be used in conjunction with
  2056. #    'mcast_miss_addr'.
  2057.  
  2058. #  TAG: mcast_miss_encode_key
  2059. #    The URLs that are sent in the multicast miss stream are
  2060. #    encrypted.  This is the encryption key.
  2061.  
  2062. #  TAG: prefer_direct
  2063. #    By default, if the ICP, HTCP, Cache Digest, etc. techniques
  2064. #    do not yield a parent cache, Squid gives higher preference
  2065. #    to forwarding the request direct to origin servers, rather
  2066. #    than selecting a parent cache anyway.
  2067. #
  2068. #    If you want Squid to give higher precedence to a parent
  2069. #    cache, instead of going direct, then turn this option off.
  2070. #prefer_direct on
  2071.  
  2072. #  TAG: strip_query_terms
  2073. #    By default, Squid strips query terms from requested URLs before
  2074. #    logging.  This protects your user's privacy.
  2075. #strip_query_terms on
  2076.  
  2077. #  TAG: coredump_dir
  2078. #    By default Squid leaves core files in the first cache_dir
  2079. #    directory.  If you set 'coredump_dir' to a directory
  2080. #    that exists, Squid will chdir() to that directory at startup
  2081. #    and coredump files will be left there.
  2082.  
  2083. #  TAG: redirector_bypass
  2084. #    When this is 'on', a request will not go through the
  2085. #    redirector if all redirectors are busy.  If this is 'off'
  2086. #    and the redirector queue grows too large, Squid will exit
  2087. #    with a FATAL error and ask you to increase the number of
  2088. #    redirectors.  You should only enable this if the redirectors
  2089. #    are not critical to your caching system.  If you use
  2090. #    redirectors for access control, and you enable this option,
  2091. #    then users may have access to pages that they should not
  2092. #    be allowed to request.
  2093.  
  2094. #  TAG: ignore_unknown_nameservers
  2095. #    By default Squid checks that DNS responses are received
  2096. #    from the same IP addresses that they are sent to.  If they
  2097. #    don't match, Squid ignores the response and writes a warning
  2098. #    message to cache.log.  You can allow responses from unknown
  2099. #    nameservers by setting this option to 'off'.
  2100. #ignore_unknown_nameservers on
  2101.  
  2102. #  TAG: digest_generation
  2103. #    This controls whether the server will generate a Cache Digest
  2104. #    of its contents.  By default, Cache Digest generation is
  2105. #    enabled if Squid is compiled with USE_CACHE_DIGESTS defined.
  2106. #digest_generation on
  2107.  
  2108. #  TAG: digest_bits_per_entry
  2109. #    This is the number of bits of the server's Cache Digest which
  2110. #    will be associated with the Digest entry for a given HTTP
  2111. #    Method and URL (public key) combination.  The default is 5.
  2112. #digest_bits_per_entry 5
  2113.  
  2114. #  TAG: digest_rebuild_period    (seconds)
  2115. #    This is the number of seconds between Cache Digest rebuilds.
  2116. #    By default the server's Digest is rebuilt every hour.
  2117. #digest_rebuild_period 1 hour
  2118.  
  2119. #  TAG: digest_rewrite_period    (seconds)
  2120. #    This is the number of seconds between Cache Digest writes to
  2121. #    disk.  By default the server's Digest is written to disk every
  2122. #    hour.
  2123. #digest_rewrite_period 1 hour
  2124.  
  2125. #  TAG: digest_swapout_chunk_size    (bytes)
  2126. #    This is the number of bytes of the Cache Digest to write to
  2127. #    disk at a time.  It defaults to 4096 bytes (4KB), the Squid
  2128. #    default swap page.
  2129. #digest_swapout_chunk_size 4096 bytes
  2130.  
  2131. #  TAG: digest_rebuild_chunk_percentage    (percent, 0-100)
  2132. #    This is the percentage of the Cache Digest to be scanned at a
  2133. #    time.  By default it is set to 10% of the Cache Digest.
  2134. #digest_rebuild_chunk_percentage 10
  2135.  
  2136. #  TAG: chroot
  2137. #    Use this to have Squid do a chroot() while initializing.  This
  2138. #    also causes Squid to fully drop root privileges after
  2139. #    initializing.  This means, for example, that if you use a HTTP
  2140. #    port less than 1024 and try to reconfigure, you will get an
  2141. #    error.
  2142.  
  2143.